home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / B-Book Series / (k)b2.d64 / exhibitoptions < prev    next >
Text File  |  2007-02-28  |  3KB  |  107 lines

  1. 0010 //PROGRAM: EXHIBITOPTIONS//
  2. 0020 DIM NAME$(15) OF 20, OPTION(15,4)
  3. 0030 DIM SUBJECT$(4) OF 12, N$ OF 20, A$ OF 3
  4. 0040 DIM SPACES$ OF 39
  5. 0050 //
  6. 0060 SPACES$(1:39):=""
  7. 0070 SUBJECT$(1):="BIOLOGY"
  8. 0080 SUBJECT$(2):="GERMAN"
  9. 0090 SUBJECT$(3):="INFORMATICS"
  10. 0100 SUBJECT$(4):="MUSIC"
  11. 0110 //
  12. 0120 STARTPROGRAM
  13. 0130 REPEAT 
  14. 0140 PRINT CHR$(147) //CLEAR
  15. 0150 WINDOW(8,15)
  16. 0160 PRINT "1 = A STUDENT'S OPTIONS"
  17. 0170 PRINT "2 = DISTRIBUTION OF SUBJECTS"
  18. 0180 PRINT "3 = STOP PROGRAM"
  19. 0190 PRINT 
  20. 0200 INPUT "ENTER JOB: ": JOB
  21. 0210 //
  22. 0220 IF JOB=1 THEN OPTIONS
  23. 0230 IF JOB=2 THEN DISTRIBUTION
  24. 0240 IF JOB=3 THEN STOP 
  25. 0250 UNTIL FALSE
  26. 0260 //
  27. 0270 PROC OPTIONS 
  28. 0280 WINDOW(8,20)
  29. 0290 INPUT "STUDENT'S NAME: ": N$
  30. 0300 I:=0; FOUND:=FALSE
  31. 0310 WHILE NOT (FOUND OR I=MAX) DO
  32. 0320 I:=I+1
  33. 0330 FOUND:=(N$=NAME$(I))
  34. 0340 ENDWHILE 
  35. 0350 IF FOUND THEN
  36. 0360 PRINT 
  37. 0370 PRINT N$,"'S OPTION:"
  38. 0380 PRINT 
  39. 0390 FOR J:=1 TO 4 DO
  40. 0400 IF NOT OPTION(I,J)=-1 THEN
  41. 0410 PRINT SUBJECT$(J),TAB(15),"AT LEVEL ",OPTION(I,J)
  42. 0420 ENDIF 
  43. 0430 ENDFOR J
  44. 0440 WINDOW(18,18)
  45. 0450 INPUT "PRESS RETURN TO CONT. ": A$
  46. 0460 ELSE 
  47. 0470 WINDOW(1,1)
  48. 0480 PRINT "NO STUDENT WITH THAT NAME"
  49. 0490 INPUT "DO YOU WANT A LIST (Y/N)? ": A$
  50. 0500 IF A$="Y" THEN DISPLAY
  51. 0510 ENDIF 
  52. 0520 ENDPROC OPTIONS
  53. 0530 //
  54. 0540 PROC DISTRIBUTION 
  55. 0550 REPEAT 
  56. 0560 WINDOW(8,15)
  57. 0570 INPUT "ENTER SUBJECT: ": N$
  58. 0580 I:=0; OK:=FALSE
  59. 0590 WHILE NOT OK AND I<4 DO
  60. 0600 I:=I+1
  61. 0610 OK:=(N$=SUBJECT$(I))
  62. 0620 ENDWHILE 
  63. 0630 UNTIL OK
  64. 0640 REPEAT 
  65. 0650 INPUT "ENTER LEVEL: ": LEVEL
  66. 0660 UNTIL LEVEL=1 OR LEVEL=2
  67. 0670 PRINT CHR$(147) //CLEAR
  68. 0680 PRINT "THE FOLLOWING STUDENTS TAKE"
  69. 0690 PRINT N$," AT LEVEL ",LEVEL,":"
  70. 0700 PRINT 
  71. 0710 FOR STNO:=1 TO MAX DO
  72. 0720 IF OPTION(STNO,I)=LEVEL THEN PRINT NAME$(STNO)
  73. 0730 ENDFOR STNO
  74. 0740 WINDOW(18,18)
  75. 0750 INPUT "PRESS RETURN TO CONT. ": A$
  76. 0760 ENDPROC DISTRIBUTION
  77. 0770 //
  78. 0780 PROC DISPLAY 
  79. 0790 PRINT CHR$(147) //CLEAR
  80. 0800 FOR STNO:=1 TO MAX DO PRINT NAME$(STNO)
  81. 0810 WINDOW(18,18)
  82. 0820 INPUT "PRESS RETURN TO CONT. ": A$
  83. 0830 ENDPROC DISPLAY
  84. 0840 //
  85. 0850 PROC STARTPROGRAM 
  86. 0860 OPEN FILE 2,"OPTIONS",READ
  87. 0870 READ FILE 2: MAX
  88. 0880 FOR I:=1 TO MAX DO
  89. 0890 READ FILE 2: NAME$(I)
  90. 0900 FOR J:=1 TO 4 DO READ FILE 2: OPTION(I,J)
  91. 0910 ENDFOR I
  92. 0920 CLOSE
  93. 0930 ENDPROC STARTPROGRAM
  94. 0940 //
  95. 0950 PROC WINDOW(X,Y) 
  96. 0970 SCREEN(X,1)
  97. 0980 FOR I:=1 TO Y-X+1 DO PRINT SPACES$
  98. 0990 SCREEN(X,1)
  99. 1000 ENDPROC WINDOW
  100. 1010 //
  101. 1020 PROC SCREEN(ROW,COL) CLOSED
  102. 1030 PRINT CHR$(19), //HOME
  103. 1040 FOR I:=1 TO ROW DO PRINT  //DOWN
  104. 1050 FOR I:=1 TO COL-1 DO PRINT CHR$(29), //RIGHT
  105. 1060 ENDPROC SCREEN
  106. 1070 //
  107.